Multimedia network system with content importation, content exportation, and integrated content management

ABSTRACT

This placeshifting system provides wired and/or wireless access throughout a multimedia network built on a distributed architecture which can be transparent to the user. This multimedia network includes content which is imported or generated within the network. The system allows for the content provider to determine the license status of content and update the license status of content which was previously provided by that provider. The external content can be accessed in real time or downloaded and stored within the system for later access at the convenience of the user. The usage of some content is controlled by the use of encryption and other protection methods. The system allows for storage of live video by storing the digitized video and allowing the user to control how, when and where the content is viewed. The system makes available multiple multimedia services to all users in the network or connected via the internet.

CROSS-REFERENCE TO RELATED APPLICATION

This is a divisional of, and claims priority to co-pending U.S. patentapplication Ser. No. 13/477,214, filed May 22, 2012, which is adivisional of U.S. patent application Ser. No. 13/422,518, filed Mar.16, 2012, now U.S. Pat. No. 8,964,764, issued Feb. 24, 2015, which is adivisional of U.S. patent application Ser. No. 13/109,202, filed May 17,2011, now U.S. Pat. No. 8,868,687, issued Oct. 21, 2014, which is adivisional of U.S. patent application Ser. No. 12/959,655, filed Dec. 3,2010, which was a divisional of U.S. patent application Ser. No.11/132,771, filed May 19, 2005, which claimed priority to U.S.Provisional Application Ser. No. 60/572,365, filed May 19, 2004, all ofwhich are incorporated herein by reference in their entireties.

FIELD OF THE INVENTION

The present invention relates generally to the field of managing digitalinformation and more particularly to the field of creating, importing,exporting, and accessing the digital information via networkedmultimedia systems.

BACKGROUND OF THE INVENTION

The possibility of downloading a quality movie via the internet, or someother data network, also called video on demand (VoD), using currentbroadband connections such as cable or DSL, has been simplified by therecent introduction of the H.264 (also known as MPEG-4 AVC) andMicrosoft Windows Media Video 9 (WMV9) codecs. However, the issue ofcontent protection (for the content being downloaded from the contentprovider) has been a major obstacle to allowing consumers to rent orpurchase digital video disk (DVD) quality video via the internet, orsome other data network. Thus, a system is needed which will provideprotection for the content downloaded while, at the same time, willallow ease of use and convenience for the consumer.

One of the issues looming on the horizon is the potential use of a“broadcast flag” to protect broadcast digital TV content from beingfreely distributed to unauthorized parties. However, the “fair use”doctrine allows the consumer to record and reuse content which they ownor receive. Using this criterion, a system could allow a user totransfer authorized content anywhere within the system network,including via a secure connection on the internet, for usage at theuser's convenience.

Another important development has been the ability to record an incomingvideo stream in digitized form onto a mass storage device such as a harddisk drive, and playback that recorded video as desired by the user.This functionality has become known as a digital video recorder (DVR) orpersonal video recorder (PVR) and is viewed as a superior alternative toconventional video tape recorders for capture and subsequent playback ofprogramming content. The DVR is located within the consumer's premises,and it typically may be used by two or more users.

Televisions have become so prevalent in the United States, that thetypical household may have two or more television sets. Each televisionset requires its own DVR, if the consumer wishes to have access to theenhanced functionality. However, because DVRs can be expensive, usersmay be hesitant to purchase additional DVRs. These DVRs are typicallyconfigured as standalone units with limited ability to network orinterconnect with other DVRs at the consumer's premises. In the caseswhere networking is available, the setup can be cumbersome and requireconsiderable technical expertise and time to accomplish.

The current multimedia networking options are rather sparse and, for themost part, are PC centric and/or limited in the scope of options whichthey offer the user. Many multimedia products typically provide limitedaccess to multimedia services and do not easily integrate with productsproviding different multimedia services or from different vendors. Somepotential multimedia products such as digital cameras, video games,telephony and internet browsing have had limited adoption intomultimedia systems. The ideal multimedia system would be based upon adistributed architecture and would appear as transparent as possible tothe consumer.

The conversion to wireless communication will simplify the operation ofand vastly increase the flexibility of multimedia networks. Upcomingwireless protocols such as IEEE 802.16, IEEE 802.11n, ultra broadband,and ultra wideband will advance this initiative tremendously. With thesechanges, the possibility of receiving and enjoying the maximummultimedia experience, even in a mobile environment, becomes much moreattainable.

Therefore, a need exists for systems and methods that easily downloadquality video/audio and other content via the internet, or other datanetwork, that have reliable and flexible content protection, thatincorporate DVRs and that ease the use of multimedia networks.Specifically, there exists a need for systems and methods which allowmultiple users operating discrete DVRs, or multimedia components, withina premise or vehicle to have access to quality video/audio content viathe internet, or some other data network, received by and/or stored inanother DVR or storage device. There also exists a need to provide ascaled down access client which can access all system content but at thesame time be relatively inexpensive. A system is also needed whichallows the content provider to have an interactive relationship with theuser network to determine the license status of all content provided bythat provider located on the network. An additional need is the abilityto easily move content to a portable multimedia device or to a validsystem device via the Internet, or other data network, for remote usageat the convenience of the consumer.

SUMMARY OF THE INVENTION

The invention provides a multimedia networking system. The inventionutilizes various multimedia components networked together using eitherwired or wireless networking methods and protocols. This network alsoconnects to the internet for retrieval and sharing of content. Thesystem allows for parts of individual components to be shared with othercomponents throughout the system to optimize the utilization of variouscomponents. The invention allows for the importation of content from anexternal content provider via the internet. This provides theopportunity for the user to download high quality movies, music, videogames or other content for rental and purchase, through an easy andconvenient process. This method also allows considerable flexibility forthe content provider in the way the content is distributed and managed.The entire process is automated and very easy for the user to accomplishfrom any component in the system.

The invention allows the system to optimize the handling of content andmore easily recover from the failure of system components. The systemchooses the most efficient location and handling method for incoming andinternally created content depending upon several factors including, butnot limited to, processor utilization rate, processor speed, hard drivememory space available, fragmentation of data on hard drive, speed ofhard drive data access, scheduled recording, quality of networkconnection and user preferences. Another important capability is beingable to move content to different locations, so it is still available tousers, when a component is being removed from the system. Anotherexample of the system flexibility is the ability of the system to useany available tuner to view or record a program. This allows anopportunity to record more programs simultaneously and also allows moreefficient use of available TV tuners.

The invention allows the access to the multimedia network to becomevirtually transparent to the user, whether within the confines where themain network resides or at a remote location connected via the internet,or some other data network. The user can freely import, create, andshare content within the network.

The invention accepts various types of multimedia content such as analogvideo, analog audio, digital video and analog video. Some of thesearrive in the form of TV input and may come in several varieties such asthe analog NTSC or PAL broadcasts. Analog TV streams are converted to aH.264, WMV9, or MPEG2 formatted data stream, for efficient digitalsignal handling.

The system also accepts, digital TV forms such as Digital SatelliteSystem (DSS), Digital Broadcast Services (DBS), or Advanced TelevisionStandards Committee (ATSC). Another source is the playback of a DVD froma valid system device or streamed from an external DVD player.

The invention allows a digital camera to be connected to the system andthen have the digital video from that digital camera stored within thesystem or streamed to any point in the system. The invention allows VoIPtelephony using packet switching technology. The system can accept VoIPphone calls, accept messages, and give voice mail. The invention allowsthe importation and usage of video games. The games can be played by theuse of emulation software or a hardware interface. The invention allowsthe user to connect the output from a radio tuner into the system whichthen allows the audio from that radio tuner to be streamed throughoutthe network. The radio tuner can also be adjusted remotely from anywherein the system if it is type designed as system component.

The invention allows the use of an RFID tag to be used to automaticallylog the user into system via the use of an infrared (“IR”) or radiofrequency (“RF”) remote control. The RFID tag referenced by the systemfor the user can be updated by the user if the user changes the RFID taghe or she is using. This change may be useful for security or if theoriginal tag is lost or damaged.

The invention allows the user to control functions of the system fromany component linked to the network and properly designated to accessthe network. These control functions may include importation of content,access to content, and handling of content. Among the handling optionsare the typical options available when viewing a digital video disk(DVD) such as fast forward, rewind, play, pause, fast/slow forward playand fast/slow reverse play.

It should be emphasized that the embodiments of the invention describedabove are merely possible examples, among others, of theimplementations, setting forth a clear understanding of the principlesof the invention. Other details and advantages of the invention willbecome apparent from the following detailed description in combinationwith the accompanying figures illustrating the principles and operationof the invention.

Many variations and modifications may be made to the above describedembodiments of the invention without departing substantially from theprinciples of the invention. All such modifications and variations areintended to be included herein within the scope of the disclosure andinvention and protected. In addition, the scope of the inventionincludes embodying the functionality of the preferred embodiments of theinvention in logic embodied in hardware and/or software configuredmediums.

Advantages of the Present Invention

1. The system comprises at least one multimedia server or multimediastorage server.2. The system may have multiple multimedia servers.3. The system may have multiple local multimedia clients.4. The system may have multiple remote multimedia clients.5. The system may have multiple multimedia storage servers.6. The system may have multiple DVD/CD player/recorders.7. The system may have multiple radio players.8. The system may have multiple digital cameras.9. The system may have multiple video game players.10. The system may have multiple telephony transceivers.11. Content may be generated within the system or received from anexternal source.12. The system content may contain, but is not limited to, video data,audio data, digital images, video game software, and system data.13. The system may accept content from non-system sources such as, butnot limited to, digital camcorder, analog camcorder, digital camera,VCR, MP3 player, PDA, and/or a computer.14. The system may accept local data input using protocols such as, butnot limited to, Universal Serial Bus (USB) and Firewire.15. The system may record programs from a television (TV) signal inputfor viewing at some future time.16. The system may have a programming program guide to allow for easyselection of programs to be recorded.17. All system components may share a single program guide via thesystem network.18. The system may allow the recording schedule to be updated via theinternet or other data network.19. The system may allow viewing of Internet pages and access tointernet page content.20. The system may allow the use of an e-mail client for access toe-mail via the Internet or some other data network.21. The system may have a virus protection program installed oravailable.22. The system may provide voice over internet protocol (VoIP) or asimilar type of telephony.23. The system may automatically notify a user when a telephone call isreceived via the system.24. The user may use the VoIP capabilities without the loss of access toany of other system functionality.25. The system may automatically answer a phone call, received via thesystem, and accept voice mail.26. The system may contain a system clock and a display clock.27. The system clock may be automatically adjusted via the internet, orsome other data network.28. The system may allow user to adjust the display clock.29. The display clock may be synchronized with the system clock at thecommand of the system or when display clock synchronization is done viathe internet or some other data network.30. The system may block usage of protected content if the system clockhas been reset, by events such as system failure or programmaticadjustment, without connection to the internet, or some other datanetwork, for time resynchronization of the system clock.31. External content may be received via various transmission sourcessuch as, but not limited to, RF sources like IEEE 802.16, ultrabroadband, satellite, 3G, GPRS or TV antenna and terrestrial sourceslike cable or DSL (digital subscriber line).32. The system may interact with a protected content provider Internetweb server, or a comparable device, to test the connection speed andreport to the user the estimated download time for the requestedcontent, before the user has to choose to begin the download process.33. The system may interact with the protected content provider Internetweb server, or a comparable device, to automatically download content.34. The system may interact with the protected content provider internetweb server, or a comparable device, to automatically resume downloadwhen an interruption occurs.35. The system may interact with the protected content provider Internetweb server, or a comparable device, to adjust the time period for whichthe content license was originally granted.36. The system may interact with the protected content provider internetweb server, or a comparable device, to determine the license status ofcontent previously supplied by that content provider.37. The system may interact with the protected content provider internetweb server, or a comparable device, to verify that the system devicereceiving content is a valid device type.38. The system may interact with the protected content provider internetweb server, or a comparable device, to update data within the softwareor hardware of the system, which may be used in a security algorithm foraccess to the content of that content provider.39. The system may interact with the protected content provider internetweb server, or a comparable device, to a renew content license withoutdownloading the content again.40. The system may interact with the protected content provider internetweb server, or a comparable device, to limit the number of timesprotected content can be viewed.41. The system may require both a valid device type and a valid contentlicense to grant access to content for usage.42. Content may be encrypted and/or locked and may allow decryptionand/or unlocking, for use, when a correct security algorithm is used.43. A security algorithm and/or data used to decrypt and/or unlockprotected content may be embedded in the hardware of the system.44. The system may use security protocols such as, but not limited to,VPN (virtual private network), WPA (WiFi Protected Access) and/or PKI(public key infrastructure).45. When new system components are added, the system may automaticallyconfigure the new components in a fashion similar to “plug-and-play” andmay require the user to login via the prompt on the new device displayor to accept the new device via the prompt on the primary multimediaserver display or the designated display for the multimedia storageserver.46. The system components communicate via wired protocols such as, butnot limited to, ethernet and/or wireless protocols such as, but notlimited to, IEEE 802.11, Bluetooth, or ultra wideband.47. The system may comprise multiple multimedia servers, wherein oneserver is designated as the primary multimedia server.48. The system may comprise additional multimedia servers, which can beconsidered secondary multimedia servers.49. All secondary multimedia servers and multimedia storage servers maycontain some data, which is duplicated from the primary multimediaserver periodically, to allow the secondary multimedia server, ormultimedia storage server, to be automatically reassigned as the systemcontroller, if the original primary multimedia server is unexpectedlyremoved from the system.50. If the primary multimedia server is removed from the systemunexpectedly, the system may automatically reassign a secondarymultimedia server as the new primary multimedia server, if a secondarymultimedia server is available. The multimedia storage server can takesystem control, if a secondary multimedia server is not available.51. The user may request removal of a multimedia server or a multimediastorage server from the system.52. When requesting removal of a multimedia server or a multimediastorage server from the system, the system may allow transfer of contentbefore removal from the system.53. When requesting removal of the primary multimedia server, the systemmay verify the availability of and then assign system control to a newprimary multimedia server or multimedia storage server.54. The system may allow transfer of content within the system at anytime, by the system user which owns content.55. Remote multimedia clients may be different types and may containvideo/audio, and/or audio and/or other data.56. Remote multimedia clients may be detached from system for remote useof content.57. Detached remote multimedia clients may allow unlimited use ofunprotected content and usage of protected content for the timespecified by and according to the guidelines specified by the contentprovider.58. The remote multimedia client may prohibit access to protectedcontent if the system clock is reset by events such as system failure orprogrammatic adjustment.59. When it is reconnected to the system, the remote multimedia clientmay update the license status of all protected content which itcontains, based upon information about the license status of the sameprotected content located in permanent storage locations within thesystem.60. The system may communicate with and service requests from non-systemdevices, but those devices may have limited access to protected content.61. The system may allow multiple user accounts to be created.62. All content may be assigned to a user created account or may beassigned to the system default account.63. All video content assigned to a system user may be viewed as asingle consolidated list, viewed as content per server, sortedchronologically, or sorted using other user determined criteria.64. The system may store preferences for each user such as, but notlimited to, content view, language, or background theme.65. When a request to store content is given, the system may select themost efficient location within the system to store that content basedupon various criteria such as, but not limited to, processor utilizationrate, processor speed, hard drive memory space available, fragmentationof data on hard drive, speed of hard drive data access, scheduledrecording, quality of network connection, and user preferences.66. The system may monitor the fragmentation of hard drive, or othermass storage device, and may prompt the user to conduct datadefragmentation when it is determined to be advantageous.67. The system may automatically schedule defragmentation, with userapproval, based upon information such as, but not limited to, upcomingrecording sessions, local time of day, typical usage patterns, andmemory space available.68. When scheduling more simultaneous recordings than the number oftuners which exist in the system, the system may prompt the user toapprove the action.69. The system may be able to receive both analog and digital televisionbroadcasts from various sources such as, but not limited to, cable,satellite, and other RF sources.70. The system may convert all analog television information to adigital format.71. The system may recognize incoming digital video formats to avoidunnecessary conversion processes.72. The system may encode and decode video information, as needed, to orfrom various digital video formats such as, but not limited to, MPEG2(Motion Picture Experts Group-2), H.264 (also known as MPEG-4 AVC), andMicrosoft Windows Media Video 9 (WMV9) depending upon user requests andsystem needs.73. The system may store digital information on the hard drive, orappropriate mass storage device, located on a multimedia server,multimedia storage server, or other valid storage device.74. The system components which receive an external television signalmay convert that signal to an appropriate digital format and store theinformation on a storage media located somewhere within the system.75. The system components which do not receive an external televisionsignal may receive digital television information from another systemdevice which has a television tuner available.76. The local multimedia client preferably does not include mass storagespace for content. If the local multimedia client does not have massstorage space for content, then the local multimedia client can beconnected to the system to gain access to full system capabilities.77. The local multimedia clients may or may not have a connection toreceive a television signal from outside the system.78. The digital video information, from a system component, which waspreviously stored, may then be sent to that system component, specifiedby the system, at the rate specified by the component receiving theinformation.79. The multimedia server, the local multimedia client, the remotemultimedia client, or the radio player may have multiple tuners.80. The system may record multiple programs simultaneously by utilizingtuners which are not being utilized for recording at the current time.81. Picture-in-picture capabilities may be provided by use of a secondtuner in a single component or by the use of a tuner in another systemcomponent which is not being utilized at the current time.82. The system may reconfigure protected content into a format which canbe copied to permanent media such as, but not limited to, a DVD-R orCD-R, via a valid system device type.83. The system may allow copying of protected content onto permanentmedia, such as a DVD-R or CD-R, within the parameters specified by theprotected content provider.84. The system may reconfigure content, for more efficient storage, on aremote multimedia client or may reconfigure unprotected content, formore efficient storage, on a non-system device which is external to thesystem.85. Some content exchanged via system communications may be encrypted ormodified to protect content.86. The system may display various television standards such as, but notlimited to, National Television Standards Committee (NTSC), PAL, andhigh definition (HD).87. The system may display video as either interlaced scanned frames,progressive scanned frames, or other protocols, as desired.88. The system may handle various audio formats such as, but not limitedto, MP3, WAV, and AC3.89. The system components may be controlled using an IR or RF remotecontrol device.90. The system may allow the user to use an RFID tag, or a similardevice, to identify the user to the system, via the remote control, andautomatically log the user into the system, if the user so chooses.91. The system may allow the user to change the RFID tag, or similardevice, at the request of the user.92. A keyboard, keypad, or other input device may be used for inputtingsystem functions and configurations.93. The system may use a video game emulator front-end to allow accessto video games.94. Video camera input may be allowed from a system or a non-systemdevice and may contain both audio information and video information.95. The system may be configured to stream or transfer stored or livecontent, such as TV, radio, or digital video over the internet, or otherdata networks.96. The system may be configured to stream or transfer protected contentover the internet, or other data networks, to a valid system deviceusing a secure connection protocol such as, but not limited to, VPN.97. Recording schedules may be adjusted via the internet, or some otherdata network, or via a WAP enabled, or with comparable protocol,wireless phone.98. The system may automatically create a copy of a content file ifrequests for access are determined to be causing a sufficient conflictin accessing the original content file.99. The system may monitor status of connection to internet, or otherexternal network, and may notify the user when a download process isinterrupted and/or connection has been lost.100. The system may allow the user, within the system, to reassignownership of content to another user, within system, with the approvalof the new owner.101. The system may encode information into content which may then beused by system for security algorithms and/or license statusinformation.102. The system may allow user to exclude a system component from beingautomatically considered for usage as a tuner and/or data storagelocation.103. The system may allow an administrative user account to be created.104. The system may allow the administrative user to have access to allcontent, to move content, to make changes to individual user accounts,and/or have the ability to change system wide settings.105. The system may authenticate the valid system device receivingcontent via the internet, or other data network, as part of the originalsystem network sending the content.106. Each system component contains its own hardware and/or softwarefunctionality but overall control of the system can be maintained by theprimary multimedia server or multimedia storage server.107. The system may interact with protected content provider internetweb server, or a comparable device, to set the time period for which thecontent license is granted.108. The system may allow instant messaging on system components withoutput display device.109. The system component may allow for the display of two or moresources of video information on an output device.110. The system may allow control of various system functions and/orcontent via the internet, or other data network, using a valid systemdevice.111. The system may monitor and record the number of times content isaccessed.112. The system may interact with protected content provider Internetweb server, or a comparable device, to determine the number of timescontent has been accessed.113. When requesting removal of the primary multimedia server, thesystem may allow the user to specify which secondary multimedia serverto assign as the new primary multimedia server or may allow user tospecify a multimedia storages server as the system controller.114. The system may use a graphical user interface (GUI) for thecomponents which have a visual media output device.115. The system components which display video output or receive video,in a form requiring digitization, may have a video coder and/or decoder.116. The system components which serve as storage devices, such as themultimedia servers and multimedia storage servers may have routercapabilities.117. The system may contain a web server to provide access to send datato and receive data from the Internet.118. The system may allow data stream to flow from incoming input/output(I/O) to outgoing I/O when user is viewing video or listening to audioin real time.119. The system may allow usage of different port numbers for input andoutput of data to and from system devices.120. In one exemplary embodiment, the multimedia storage server does notcomprise a tuner.121. The system may allow user to query and display the status ofprotected content.122. The current status of protected content on the system may be storedin an extensible markup language (XML) file, or a similar format file.123. Local multimedia clients may have mass storage space sufficient torun the operating system and related software.124. The DVD/CD player/recorder may be in same enclosure as a multimediaserver or multimedia storage server.125. The content key may contain information which is stored in an XMLfile, or a similar format file.126. The system may allow a multimedia storage server as the systemcontroller, even when a multimedia server is available within thesystem.127. The system may allow for the periodic generation of a new privatekey within a system device for purposes of enhanced security.128. The system may allow for the generation of new private key within asystem device using a seed from a random number generator or some othersource.129. The system may allow compilation and storage of content usagehistory in a file called content usage history file.130. The system may allow multiple content usage history files to becreated by the use of specific criteria, such as usage for dailyintervals or weekly intervals or usage for individual system users.131. The system may allow deletion of selected content usage historyfrom the content usage history file when the appropriate contentprovider has retrieved that information and given permission for thedeletion of the data.132. The system may allow compilation and storage of the license statusof content in a file called content license status file.133. The system may allow the conversion of all encrypted content keys,content usage history files and content license status files containedwithin a system device, from an old public key to new public key, when anew private key is generated within that system device.134. The system may include an additional level of validation for avalid system device logging into system via the internet, or some otherdata network.135. The system may allow encryption of live content if needed.136. The system may incorporate the point-to-multipoint (PMP) wirelessprotocol to enhance the data distribution within the system.137. The system may allow streaming content from an external provider tobe stored on a storage device for a short period of time during thestreaming process to improve the quality of the streaming content.138. The system may have an interactive program guide, which can searchfor content from various sources and display the content available in aconsolidated format to simplify the choice of programming to view,record, and/or import.139. The system may allow information to be compiled and stored in thecontent license status file, relating to the network identification,user identification, and device identification to which each piece ofcontent is assigned.140. The system may include a web server which can be used to providesecure access to the system, from a valid system device or non-systemdevice, via the internet.141. The system may include the use of an additional means of useridentification, such hardware containing a security certificate, for auser accessing the system via the internet, or other data network.142. Each system device may include an operating system but overallsystem control is given to a designated primary multimedia server ormultimedia storage server.143. Each system device may include multiple processors to improveoperating efficiency.144. The system may allow flow of data within system to reducecontention and improve the efficiency of data exchange and data usage.

BRIEF DESCRIPTION OF THE DRAWING FIGURES

FIG. 1 is a block diagram representation of a multimedia systemaccording to an illustrative form of the present invention showing thecontent flow between components within the system.

FIG. 2 is a block diagram showing flow between components within thesystem of FIG. 1 and components external to the system.

FIG. 3 is a block diagram showing the handling of input/output functionswithin the system of FIG. 1.

FIGS. 4A and 4B are block diagrams showing the flow of live and delayedcontent in the system of FIG. 1.

FIG. 5 is a block diagram showing use of a RFID tag to verify useridentification in accordance with an exemplary embodiment of the presentinvention.

FIG. 6 is a block diagram showing use dual data ports for sending andreceiving data in accordance with an exemplary embodiment of the presentinvention.

FIG. 7 is a flow chart showing the process for a request for contentaccess in accordance with an exemplary embodiment of the presentinvention.

FIG. 8 is a flow chart showing the process for a request for a record inaccordance with an exemplary embodiment of the present invention.

FIG. 9 is a flow chart showing the process for a request to find atelevision tuner in accordance with an exemplary embodiment of thepresent invention.

FIGS. 10A and 10B is a flow chart showing the process for a request forserver removal in accordance with an exemplary embodiment of the presentinvention.

FIG. 11 is a flow chart showing the process for a request for transferof protected content from a provider.

FIG. 12 is a block diagram showing a request for transfer of protectedcontent from a content provider in accordance with an exemplaryembodiment of the present invention.

FIG. 13 is a flow chart showing the process of a transfer of protectedcontent between system devices.

FIG. 14 is a block diagram showing a transfer of protected contentbetween system devices in accordance with an exemplary embodiment of thepresent invention.

FIG. 15 is a flow chart showing the process for a request for a contentlicense update from a provider in accordance with an exemplaryembodiment of the present invention.

FIG. 16 is a block diagram showing a request for a content licenseupdate from a provider in accordance with an exemplary embodiment of thepresent invention.

FIGS. 17A and 17B are a flow chart showing the process for a request tocreate a hard copy of protected content in accordance with an exemplaryembodiment of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Referring now to the drawing figures, in which like reference numbersrefer to like parts throughout the several views, preferred forms of thepresent invention will now be described by way of example embodiments.It is to be understood that the embodiments described and depictedherein are only selected examples of the many and various forms that thepresent invention may take, and that these examples are not intended tobe exhaustive or limiting of the claimed invention. Also, as used in thespecification including the appended claims, the singular forms “a,”“an,” and “the” include the plural unless the context clearly dictatesotherwise. Ranges may be expressed herein as from “about” or“approximately” one particular value and/or to “about” or“approximately” another particular value. When such a range isexpressed, another embodiment includes from the one particular valueand/or to the other particular value. Similarly, when values areexpressed as approximations, by use of the antecedent “about,” it willbe understood that the particular value forms another embodiment.

As described herein, the term “content” is used to describe the dataand/or files that are imported, exported, and/or managed within thesystem. Such content can include audio files, video files, and videogame programs.

The present invention is embodied in a networked multimedia system whichcan import content via the internet, or other data network and createcontent within, from various sources, such as TV, radio and digitalcamera. The present invention allows for multiple user accounts,including an administrative account, to be created and allows content tobe assigned to specific users. An administrative account can control allsystem preferences and move or reassign ownership of any content. Forexample, content assigned to a specific user is not visible to otherusers, but any user can reassign content ownership, with the approval ofthe recipient.

The present invention allows the content provider to access and updatethe status of content, located within the system, which the provider ofthe content has previously supplied.

The present invention allows for transmission of data between thevarious system devices and also with other non-system devices.Transmission media include coaxial cables, copper wire, and fiberoptics. Transmission media can also take the form of acoustic or lightwaves, such as those generated during radio wave and infrared datacommunications.

FIG. 1 is a block diagram of a system 100 showing the pathways forsending and receiving content within the system 100. The system 100comprises a plurality of system components. Each system componentpreferably includes a processor unit and a software program to controlthat component, or other components as desired. All data within thesystem is preferably in digital form or converted into digital form.Data is exchanged in the form of data packets and/or frames, dependingupon the communication protocol being used.

The system 100 includes a primary multimedia server 101, a secondarymultimedia server 103, a multimedia storage server 102, a remotemultimedia client 104, and a DVD/CD player/recorder 105. Each of thesedevices preferably has some type of storage media such as, but notlimited to, a hard disk drive, DVD-R/CD-R, or DVD-RAM. The system 100also includes a local multimedia client 106, which preferably does nothave content storage media but can include memory for program usage.

Preferably, the remote multimedia client 104 is a portable device thatcan be detached from the system 100. The detached remote multimediaclient 104 allows access to all content stored on it, includingprotected content such as DVD quality movies, which have been importedvia the internet from a remote location. Thus, content stored on theremote multimedia client 104 can then be accessed by the user at his orher convenience and at his or her preferred place of viewing and/orlistening.

In an exemplary embodiment, the primary multimedia server 101, thesecondary multimedia server 103, the remote multimedia client 104, andthe local multimedia client 106 each can have the ability to send andreceive TV signals. The primary multimedia server 101, the secondarymultimedia server 103, the remote multimedia client 104, and the localmultimedia client 106 can each include at least one encoder/decodercapable of working with at least one TV format (such as NTSC, PAL, andHD). Having multiple encoders is less important than having multipledecoders because a single encoder, which is efficient and compatiblewith the system 100, can be used while achieving one of the goals of thepresent invention. Preferably, each decoder is operable to handlemultiple codecs because content may come from different sources such asDVDs, movie downloads, or internally generated content. Codecs can behardware or software based. Hardware based codecs, such as a dedicateddigital signal processor (DSP) or field programmable gate arrays (FPGA),may be faster and require less processor intervention but may offer lessflexibility on which codecs are available. The flexibility of thesoftware based codecs are a high priority but must be balanced againstthe cost and complexity of the processor which may be desired.Alternatively, multiple decoders each can operate to handle a singlecodec, or a few codecs can be incorporated into each of the primarymultimedia server 101, the secondary multimedia server 103, the remotemultimedia client 104, and the local multimedia client 106.

Preferably, either the primary multimedia server 101 or the multimediastorage server 102 maintains primary control over the other systemcomponents. This control can be accomplished by running a softwareprogram on the primary multimedia server 101 (if the primary server isto maintain control) or on the multimedia storage server 102 (if themultimedia storage server 102 is to maintain control). The server incontrol can assign control to other system components for specifictasks, such as streaming data or moving data files. Preferably, thesecondary multimedia server 103 is running a similar core program to theprogram running on the control server but the secondary multimediaserver program relies upon the control server to direct which operationsand functions for which the secondary multimedia server 103 isresponsible. The secondary multimedia server 103 can also contain somedata and files duplicated from the control server which allows thesecondary multimedia server 103 to become the primary multimedia server101, if the primary multimedia server (if control server) or themultimedia storage server 102 (if control server) is unexpectedlyremoved from the system.

The system 100 can have various analog or digital devices connected toit. Such devices can include, but are not limited to, a digital camera107, a radio tuner 108, a video game player 109, and a telephonytransceiver 110.

The digital camera 107 can be connected to the system 100 and can sendoutput (i.e., digital pictures or digital video) to the primarymultimedia server 101, the secondary multimedia server 103, or themultimedia storage server 102. The digital images from the camera 107can then be stored in any of the server's storage media and sent toanother system component or a non-system device, such as a web pageaccessed via the internet.

The radio tuner 108 can also be connected to the system 100 and can sendoutput to the primary multimedia server 101, the secondary multimediaserver 103, or the multimedia storage server 102. The audio data canthen be stored in any of the server's storage media and sent to anothersystem component, for example to the media output device of a systemcomponent which could be a TV or a headphone output from a remotemultimedia player. Then the audio data be stored and sent to yet anothersystem component (such as remote multimedia player, multimedia server ormultimedia storage server) or non-system device, such as to a web pageaccessed via the internet.

The video game player 109 can be connected to the system 100 and canaccess game software stored within the system 100 to allow the user toplay video games using an emulation interface or a hardware interface.The video game player 109 can download the game software from the system100 (i.e., a one-way communication) or use the game software which isstill stored on another system device (i.e., a two-way communication),depending on the configuration which is most advantageous.

The telephony transceiver 110 can be connected to the system 100 and canreceive VoIP phone calls via software running on the primary multimediaserver 101 (if control server) or the multimedia storage server 102 (ifcontrol server). The VoIP uses packet switching to send and receivedata, which is converted to or converted from an audio conversation. Thesystem can automatically notify user of an incoming phone call and thenallows the user to answer the call or accept voice mail from the caller.Preferably, the voice mail greeting is recorded in a digital format. Thegreeting is then sent in digital format, via the internet, to the callerwhere it is converted to an analog audio format for the caller to hear.The caller then provides a message in analog audio, which is convertedto digital format and sent, via the internet, back to the system forstorage. The system accepts and stores the caller's message in a digitalform, which can later be accessed by the user.

FIG. 2 is a block diagram showing the pathways for content sent orreceived from components external to the system 100. Typically, therecan be two kinds of external components: valid system devices 201, whichcan access protected content, and non-valid system devices 202, whichcannot access protected content. The valid system device 201 can be anysystem device capable of accessing the Internet, or other data network,which is recognized by the system as a valid system device. Exemplaryvalid system devices 201 include any system any system component shownin FIG. 1 that can provide proper validation credentials to the system.The system 100 can verify that the component is a valid system device201 by using an algorithm which is located in the software and/orhardware of the component. Preferably the valid system device 201 iscapable interacting with the system 100 to access system functionalitysuch as sending content to system, receiving content from the system,and performing system administrative functions. The non-valid systemdevice 202 is a device which can interact with the system to performonly certain functions. Preferably, a non-valid system device can accessthe internet, but it cannot provide proper validation credentials to thesystem. Thus, the non-valid system device cannot gain access toprotected content. Exemplary non-valid system devices include a cellularphone which can modify the recording schedule, a MP3 player, which canstore unprotected content from the system, and a computer, which canstore and access unprotected content from the system.

An external content provider 203 can be connected to the system 100 andcan send content to various system components. The external contentprovider 203 can interact directly with system components to determineand modify the status of content that the provider has supplied. Theexternal content provider 203 can verify that the system componentreceiving content is a valid system device 201 which assures that theprotected content is not available to unauthorized parties or devices.The external content provider 203 can also test the connection speed andreport to the user the estimated download time for requested content,before the user chooses to begin the download process. Alternately, theexternal content provider 203 can automatically download content andautomatically resume download when an interruption occurs. Additionally,the external content provider 203 can adjust the time period for whichthe content license was originally granted, can verify that systemdevice receiving content is valid device type, can update data withinthe software or hardware of the system 100, which may be used in asecurity algorithm for access to the content of that content provider,can renew the content license without downloading the content again, andcan limit the number of times protected content can be viewed.

Preferably, the primary multimedia server 101 (if control server) or themultimedia storage server 102 (if control server) handles all contentsent or received from external sources. Alternately, the secondarymultimedia server 103 or the multimedia storage server 102 can handleall content sent or received from external sources. Preferably, theprimary multimedia server 101, or multimedia storage server 102 managesthe transfer of content and can also transfer control for specifictransfer tasks to the secondary multimedia server 103.

FIG. 3 depicts a block diagram showing the handling of content which isgenerated or handled within the system 100 according to an exemplaryembodiment. It should be noted that the input and output functionalityexamples used can be located within any system component. It should alsobe noted that even though FIG. 3 shows three inputs and four outputs,any number of devices can provide input, as well as any number of outputdevices can receive output from the system. It should be noted that theprimary multimedia server 101, the secondary multimedia server 103 andthe multimedia storage server 102 can have storage devices for storingcontent generated within the system 100 for any input or output.

In this exemplary embodiment, the source of input 304 is an analog TVsignal. When the primary multimedia server 101 (if control server) orthe multimedia storage server 102 (if control server) gives I/O 305 aproper command, the I/O 305 begins sending the output from an encoder306 to an I/O 307 (which supplies input to the primary multimedia server101) or I/O 308 (which supplies input to the secondary multimedia server103) or I/O 309 (which supplies input to the multimedia storage server102) for storage. The choice of which device will receive the input forstorage is determined by the program running on the primary multimediaserver 101 or multimedia storage server 102, based upon a predeterminedalgorithm.

The source of input 310 is a digital TV signal. When the primarymultimedia server 101 (if control server) or the multimedia storageserver 102 (if control server) gives I/O 311 a proper command, the I/O311 begins sending the signal from input 310 to I/O 307 or I/O 308 orI/O 309 for storage. The choice of which device will receive the inputfor storage is determined by the program running on the primarymultimedia server 101 or multimedia storage server 102, based upon apredetermined algorithm.

The source of input 312 is an analog audio signal. When the primarymultimedia server 101 (if control server) or the multimedia storageserver 102 (if control server) gives I/O 313 a proper command, the I/O313 begins sending the output from an encoder 314 to I/O 307 or I/O 308or I/O 309 for storage. The choice of which device will receive theinput for storage is determined by the program running on the primarymultimedia server 101 or multimedia storage server 102, based upon apredetermined algorithm.

The output from output 315 is an analog TV signal. When the primarymultimedia server 101 (if control server) or the multimedia storageserver 102 (if control server) gives I/O 316 or I/O 317 or I/O 318 theproper command, the I/O 316 or I/O 317 or I/O 318 begins sending theoutput to the I/O 319 which then forwards the data to the decoder 320which then sends the decoded TV signal to the TV via output 315. Thechoice of which device will be the source of the data is determined bythe program running on the primary multimedia server 101 or multimediastorage server 102, based upon a predetermined algorithm.

The output from output 321 is a digital TV signal. When the primarymultimedia server 101 (if control server) or the multimedia storageserver 102 (if control server) gives I/O 316 or I/O 317 or I/O 318 theproper command, the I/O 316 or I/O 317 or I/O 318 begins sending theoutput to the I/O 322 which then sends the signal to the digital TV viaoutput 321. The choice of which device will be the source of the data isdetermined by the program running on the primary multimedia server 101or multimedia storage server 102, based upon a predetermined algorithm.

The output from output 323 is a digital audio signal. When the primarymultimedia server 101 (if control server) or the multimedia storageserver 102 (if control server) gives I/O 316 or I/O 317 or I/O 318 theproper command, the I/O 316 or I/O 317 or I/O 318 begins sending theoutput to the I/O 324, which then sends the signal to the deviceconnected to output 323. The choice of which device will be the sourceof the data is determined by the program running on the primarymultimedia server 101 or multimedia storage server 102, based upon apredetermined algorithm.

The output from output 325 is an analog audio signal. When the primarymultimedia server 101 (if control server) or the multimedia storageserver 102 (if control server) gives I/O 316 or I/O 317 or I/O 318 theproper command, the I/O 316 or I/O 317 or I/O 318 begins sending theoutput to the I/O 326 which then forwards the data to the decoder 327which then sends the decoded audio signal to the device connected tooutput 325. The choice of which device will be the source of the data isdetermined by the program running on the primary multimedia server 101or multimedia storage server 102, based upon a predetermined algorithm.

FIG. 4A depicts a block diagram showing the flow of live content. I/O401 sends a data stream being generated by a system device (i.e., avalid or non-valid system device), such as a TV tuner, radio tuner ordigital camera, to I/O 402. The I/O 402 determines whether data streamfrom I/O 401 is live or delayed based upon information from the systemsoftware. The system software determines this status based upon whetherthe user is choosing to delay content or view it live. Preferably, ifthe content is viewed live, then an identical data stream is sent tostorage device 403, to be saved on a storage media, and to I/O 404. Thedata is then sent directly from I/O 404 to I/O 405. The data is thensent from I/O 405 to the appropriate output device, such as a TV oraudio amplifier. Preferably, the I/O 402 and I/O 404 are both parts ofthe I/O of a system component but are separated in FIGS. 4A and 4B toclarify that the signal source going to I/O 404 can vary depending uponwhether the content is being viewed live or delayed.

FIG. 4B depicts a block diagram showing the flow of delayed content. Theflow of content differs from that displayed in FIG. 4A if the systemsoftware determines that the user chooses to view the content later intime. In this case, I/O 406 sends a data stream generated by a systemdevice (i.e., a valid or non-valid system device), such as a TV tuner,radio tuner or digital camera, to I/O 407. Since the content is beingdelayed, the data stream is sent to storage device 403, to be saved on astorage media. The delayed content, which was previously stored from thedata stream, is then sent to I/O 408 in the direction (forward orreverse) and frame rate specified by the user while the storage devicecontinues to save the live content stream if there is still a livestream. The delayed content is then sent from I/O 408 to I/O 409. Thedelayed data is then sent from I/O 409 to the appropriate output device,such as a TV or audio amplifier.

If the user chooses to return to the live content viewing option, thenthe data flow path will revert to the direct path from I/O 402 to I/O404, as described earlier in the live content flow method.

FIG. 5 depicts a block diagram representation of user authenticationusing an RFID tag 501. Preferably, the RFID tag 501 automates a loginvia a remote control 502. The RFID tag 501 emits a signal which isdetected by the remote control 502. The remote control 502 receives thelogin information, in the signal from the RFID tag 501, and transmitsthat information to the system component 503, which can be the remotecontrol. The system component 503 then uses that information toauthenticate the user and log the user into the system 100 or performwhatever predetermined functions are specified by the user.Alternatively, other forms of user authentication, including the use ofuser identification and a password, biometric login methods or anycombination of these measures, can also be used.

FIG. 6 shows the use of multiple ports for handling of input/output. TheI/O 601 sends data on IP1:Port1 (IP address 1:Port 1—an example could be1111.1111.1111.0001:0001), receives data on IP1:Port2 and handles allsystem control communications on IP1:Port3. The I/O 602 is the I/Osection of the system storage device 603. The I/O 602 uses IP2:Port2 toreceive data, IP2:Port1 to send data and handles all system controlcommunications on IP2:Port3. The I/O 604 sends data on IP3:Port1,receives data on IP3:Port2 and handles all system control communicationson IP3:Port3. Using this configuration throughout the system allows alldevices to consider data on port 1 as outgoing data, data on port 2 asincoming data and all data on port 3 as system control. This can helpsimplify data handling and movement within the system.

FIG. 7 shows a flowchart representation of a process 700 for requestingaccess to content. Beginning at step 701, the user requests access tocontent, such as via the remote control. At step 702, the system 100determines if the content requested is protected content. If the system100 determines, at step 702, that the content is not protected, then thesystem 100 allows access to the content by any valid system device ornon-valid system device without restriction at step 703, and the process700 ends. If the system 100 determines, at step 702, that the content isprotected, then the system determines at step 704, if the device typerequested is a valid device type.

If the system 100 determines that device type is not a valid devicetype, then at step 705, the system displays a message to the user thattells the user that device is not valid. Thus, access is denied at step706, and the process 700 ends. If the system 100 determines that thedevice is a valid device, then the process 700 proceeds to step 707.

At step 707, the system 100 determines whether the license for thecontent is valid. If at step 707, the system 100 determines that thelicense is valid, then full access to the content is granted on thesystem device at step 708. If, however, at step 707, the system 100determines that the license is not valid, then the process 700 proceedsto step 709 and displays a message to the user asking the user to choosewhether to renew the license. The process 700 proceeds to step 710,where it determines whether input has been received to update the statusof the license. If input has been received to update the status of thelicense, then the system 100 updates the license at step 711, and loopsback to step 701. If, however, the system 100, at step 710, determinesthat no input has been received to update the license (or if input hasbeen received not to update the license), then the system 100 displays amessage at step 713 to the user stating that the license is not validand denies access to the content at step 714. The process 700 then ends.

FIG. 8 shows a flowchart representation of logic 800 used in determiningwhich tuner should be used for a recording process. Beginning at step801, a request to record is received from a system component. At step802, the system 100 determines whether the tuner of the system componentrequesting the recording is available. If the tuner is available (i.e.,a tuner is available when it is not being used by the system for anotherpurpose, such as viewing or recording) at that time, the tuner isselected to record at step 803, and the recording of the content beginsat step 804. If, however, the system 100 determines that the tuner ofthe system component requesting the recording is not available, then thesystem determines whether an unused tuner is available elsewhere in thesystem at step 805. If another tuner is available, then the systemselects the available tuner for recording at step 806. The recording ofthe content begins at step 807.

If, however, the system 100 determines that an unused tuner is notavailable elsewhere in the system, the system then determines if thesystem component requesting the recording is in fact recording othercontent at step 808. If the system component is not recording othercontent, then the system 100 selects the system component's tuner forrecording at step 809. The recording of the content then begins at step810. If the system component is in fact recording other content, thesystem then determines that step 811 whether there is any tuner in thesystem that is not in fact recording content. If no other tuner isavailable, the system records an error at step 812, and the recordingprocess 800 is aborted. If the system 100 determines that a tuner withinthe system is not recording, then the system selects that tuner forrecording at step 813. From there, the process 800 for recording beginsat 814.

FIG. 9 shows a flowchart representation of logic 900 used in determiningwhich tuner should be used for content viewing. Beginning at step 901,the system receives a request from the user for program viewing. As step902, the system 100 determines whether the system component requestingthe viewing has its own tuner. If the system 100 determines that thesystem component does not have its own tuner, the system thendetermines, as step 903, whether there is an unused tuner availablewithin the system. If the system 100 determines that there is an unusedtuner available, then the system selects the unused tuner for programviewing at step 904, and the system begins using that tuner at step 905.If at step 903, the system determines that an unused tuner is notavailable, the system displays a message to the user telling the userthat no tuner is available at step 906. The system 100 will then waitfor the user to input the next command at 907, and the process 900 ends.

If at step 902 the system 100 determines that the requesting systemcomponent does have its own tuner, the system determines whether thatspecific tuner is currently recording content at 908. If the tuner isnot recording content, the system 100 selects the requesting component'stuner for program viewing at step 909, and the system begins using thetuner at step 910. If, however, that requesting component's tuner iscurrently recording other content, then the system 100, at step 911,determines whether there is an available tuner elsewhere in the system.If there is not an available tuner within the system, the system 100displays a message to the user telling the user that no tuner isavailable at step 912. The system will then wait for the user to inputthe next command at 913, and the process 900 ends. If, however, there isan available tuner within the system, the system 100 selects theavailable tuner for program viewing at step 914, and the system beginsusing the tuner at step 915. The process 900 then ends.

FIGS. 10A and 10B show a flowchart representation of logic 1000 used torequest removal of a multimedia server 101 or 103. Beginning at step1001, a request is received to remove a multimedia server (i.e., 101 or103). At step 1002, the system 100 determines whether content will beremoved from the server. If content is to be removed, the system at step1003 determines whether there are other multimedia servers within thesystem. If another multimedia server is available, then the system 100,at step 1004, selects a new primary multimedia server from among theother multimedia servers within the system. The content on the originalprimary multimedia server is then moved (and/or copied) to the newprimary multimedia server at step 1005. The system 100 then displays amessage telling the user that the original multimedia server can beremoved at step 1006. The logic 1000 then ends, and the user canphysically remove the original multimedia server.

If, however, at step 1003 another multimedia server is not available,then the system determines whether a multimedia storage server isavailable at step 1007. If no multimedia storage server is available,the system displays a message telling the user that no other server isavailable at step 1008. The system will then wait for the user to inputthe next command, and the logic for requesting removal of the multimediaserver ends.

If at step 1007, the system determines that a multimedia storage serveris available, then the system 100, at step 1010, selects the multimediastorage server as the system controller. Then, the content located onthe original primary multimedia server is copied and/or moved to themultimedia storage server at step 1011. The content can be moved orcopied, as determined by the user. The system can also make a copyautomatically if the original is being requested to the extent that itis causing degradation of the quality of content being delivered to theusers. At step 1012, the system 100 displays a message to the usertelling the user that the multimedia system can be removed. The logic1000 for requesting removal of the multimedia server ends.

If, referring back to step 1002, the system determines that content isnot to be removed from the multimedia server, then the system 100proceeds to step 1020 (as depicted in FIG. 10B). At step 1020, thesystem determines whether the primary multimedia server is the server tobe removed. If the system 100 determines that the server to be removedis not the primary multimedia server, then the system as step 1021displays a message to the user telling the user that the server can beremoved. The logic 1000 for removing a server then ends, and the usercan then physically remove the server.

If, however, the system 100 determines the primary multimedia server isthe server to be removed, then the system at step 1022 determines ifthere is another multimedia server within the system. If there isanother multimedia server in the system, then the system 100 selects anew primary multimedia server from among the other multimedia servers inthe system at step 1023. Then, the system 100 displays a message to theuser telling the user that the multimedia server can now be removed atstep 1024. The logic 1000 for removing the server then ends, and theuser can physically remove the server.

If, on the other hand, another multimedia server is not within thesystem, then the system determines at step 1025 whether a multimediastorage server is available. If no multimedia storage server isavailable, then the system displays a message to the user telling theuser that no other server is available at step 1026. The system willthen wait for the next command, and the logic 1000 for removing theserver ends. If the system determines a multimedia storage server isavailable, the system selects the multimedia storage server as thesystem controller at step 1028. Next, the system 100 displays a messageto the user telling the user that the multimedia server can now beremoved. Then, the logic 1000 for removing a server then ends, and theuser can physically remove the server.

FIG. 11 shows a flowchart representation of a process 1100 of requestingprotected content from the external content provider 203. Beginning atstep 1101 the system 100 requests protected content from the externalcontent provider. Next, the system 100 receives a request from thecontent provider for verification of a valid device type at step 1102.The system 100, at step 1103 determines whether the device type isvalid. If the device type is not valid, then the system 100, at step1104, displays a message on the system to the user stating that thecontent cannot be transferred. Thus, the content is not transferred, andthe process 1100 ends.

If, however, the system determines that the device type is valid, thenthe system receives a request from the external content provider for thestatus of other protected content sent to the system at step 1105. Thesystem 100 then sends status information to the content provider at step1106. At step 1107, the system 100 receives instruction from the contentprovider. Based on the instruction received from the content provider,the system determines if it is eligible to receive additional content atstep 1107. If the system 100 is eligible to receive additional content,then the system receives a request from the content provider for thepublic key from the system device at step 1109. Next at step 1110, thesystem device sends its public key to the content provider so that thecontent key sent from the content provider can be encrypted with thesystem device's public key. At step 1111, the system 100 receives thecontent key that is encrypted with the system device's public key andthe content, which is encrypted using the content key. The process 1100of requesting protected content from the content provider ends.

If, however, at step 1108 the system determines it is not eligible toreceive additional content, then the system displays a message askingthe user if he or she chooses to update the content license at step1112. The system then determines at step 1113 whether it has received aninput to update the content license. If the system does receive an inputto update the content license, the content license is updated at step1114, and the process 1100 can loop back to step 1101, where the system,now with the updated content license, requests protected content fromthe content provider. If no input is received or if an input is receivednot to update the content license, then the process 1100 of requestingprotected content from the content provider ends.

With this capability, the user and the content provider have aninteractive relationship that allows considerable flexibility and easeof use for the user. An example of this process can occur when a userchooses to download a new movie to the system. The content provider cancheck the total quantity of movies that the user has in use by mailorder rental, in-store rental, and downloaded rental. Thus, thisembodiment is an improvement upon the prior art because it allows thecontent provider the capability to check the total quantity of movies,music, video games or other content which the user has in use by mailorder rental, in-store rental, or downloaded rental as compared to justthe status of the mail order items. This allows instant return of itemsby the system user which then allows checkout of additional content.

It is important to note here that the content key, referred tothroughout this document is the key used to encrypt the protectedcontent and is then used to decrypt the content for usage. Twoadditional files are also used by the system for storing relevantinformation for future use by the system or content provider. One suchfile is the content license status file, which includes various types ofinformation relating to how the content may be used such as name ofcontent provider, content description, license information, timerestraints on usage, number of allowed usages, quantity of copiesallowed, and the network where content stored. Another such file is thecontent usage history file, which contains data related to content usagehistory.

FIG. 12 depicts a block diagram representation of the relationshipbetween the system 100 and the external content provider 203 when thesystem requests protected content from the content provider. The system100 requests protected content from the content provider 203 at step1202. Once the content provider 203 receives this request, the contentprovider requests verification of a valid device type from the system100 at step 1204. Upon receiving this information, the system 100 sendsverification of a valid device type to the content provider 203 at step1205. Once the content provider 203 verifies a valid device type, thecontent provider requests the status of previously sent content from thesystem 100 at step 1206. Then at step 1207, the system 100 sends thestatus of previously sent content to the content provider 203. If thecontent provider 203 determines that the status information isacceptable, the content provider then requests the public key from thesystem 100 at step 1208. Then the system 100 sends the public key to thecontent provider 203 at step 1209. Once the public key is received, thecontent provider encrypts the content key and transfers the content keyand content encrypted using the content key to the system 100 at step1210.

FIG. 13 depicts a flowchart representation of a process 1300 for movingcontent between two system devices. Beginning at step 1301, the system100 receives a request to transfer protected content from one systemdevice to another system device. It should be noted that the request fortransfer can be initiated by the sending device, receiving device, or bya third system device not currently involved in the transfer. Forexample, the user can network to the system, via the internet using avalid system device, and can instruct the system to move protectedcontent from a multimedia server to a remote multimedia server, so thatthe remote multimedia server can later be detached from the system andused to view the protected content while traveling. Another example canoccur when a user accessing a local multimedia client instructs thesystem to move protected content from a multimedia server in the home toa multimedia server in an automobile, which is located in the garage ofthe home, via a wireless connection, so the user can view the protectedcontent in the automobile.

As step 1302, the sending device verifies that the receiving device is avalid device type. For purposes of this discussion, the sending deviceis the device containing the content to the transferred, and thereceiving device is the device that is to receive the content from thesending device. If the system 100 determines as step 1303 that thedevice type is not a valid device type, then at the step 1304 the systemdisplays a message stating that the content cannot be transferred to thereceiving device. Thus, the process 1300 ends.

If, however, the system 100 determines that the device type is valid,then the sending device requests the public key from the receivingdevice at step 1305. At step 1306, the receiving device sends its publickey to the sending device. Upon receiving the public key, the sendingdevice, at step 1307, decrypts the content key with the private key andthen encrypts the content with the receiving device's public key. At1308, the sending device transfers the content to the receiving devicewith the content key encrypted with the receiving device's public key.At this point, the process 1300 ends. It should be noted that theprotected content can be streamed from the sending device to thereceiving device, in an encrypted format, where it is decrypted by thereceiving device, using the private key, and accessed for use.

FIG. 14 depicts a block diagram representation of the relationshipbetween the sending device and the receiving device when the receivingdevice requests protected content from the sending device. The receivingdevice 1401 requests protected content from the sending device 1402 atstep 1403. Upon receipt of the request, the sending device 1402 requestsverification of a valid device type from the receiving device 1401 atstep 1404. Then at step 1405, the receiving device 1401 sendsverification of a valid device type to the sending device 1402. Thesending device 1402, in turn, requests the public key from receivingdevice 1401 at step 1406. Upon receiving the request for its public key,the receiving device 1401 sends the public key to the sending device1402 at step 1407. Then, the sending device 1402 transfers the encryptedcontent to the receiving device 1401 at step 1408.

FIG. 15 depicts a flowchart representation of a process 1500 a systemdevice undergoes when requesting a license update for protected contentfrom an external content provider. Beginning at step 1501, the systemdevice requests a content license update from the external contentprovider 203. At step 1502, the system 100 receives a request from thecontent provider 203 for verification of a valid device type. The system100, at step 1503, determines if the device type is valid. If the devicetype is not valid, then the system 100 displays a message to the userstating that the content license cannot be updated at step 1504. Theprocess 1500 for requesting a license update for protected content ends.

If, however, the system determines that the device type is valid, thenthe system notifies the content provider of the same at step 1505. Atstep 1506, the system 100 receives a request from the content provider203 for the public key from the system device. Next, the system devicesends its public key to the content provider at step 1507. Uponreceiving the system device's public key, the content provider encryptsthe updated content license status file with a system device public keyand then transfers the updated content license status file that isencrypted with the system device public key at step 1508. Next, thesystem device converts the old content license status file to the newcontent license status file by using its private key. At this point, theprocess 1500 ends.

This ability to check the status of content on the system 100 and updatethe content license instantly allows a considerable flexibility and easeof use for the user and a real-time inventory status update for thecontent provider. An example where this could be very advantageous forboth would be when a user chooses to download a new movie to the usersystem. The content provider can check the total quantity of movieswhich the user has in use by mail order rental, in-store rental, anddownloaded rental. If the content provider determines that the user hasthe maximum number of movies rented by mail order rental, in-storerental, and downloaded rental, then the content provider can allow theuser can choose to instantly ‘return’ an online movie, by licenserevocation, and then download a new movie for rental while stayingwithin the requirements specified by the content provider.

FIG. 16 depicts a block diagram representation of the relationshipbetween the system device 1601 and the external content provider 203when the system device 1601 requests a license update for protectedcontent from the external content provider 203. The system device 1601requests a content license update from the content provider 203 at step1602. At step 1604, the content provider 203 requests verification of avalid device type from the system device 1601. The system device 1601,in turn at step 1605, sends verification of a valid device type to thecontent provider 203. Upon receiving verification of a valid systemdevice, the content provider 203, at step 1606, requests the public keyfrom system device 1601. The system device 1601 then sends its publickey to content provider 203 at step 1607. Upon receiving the systemdevice's public key, the content provider 203 encrypts the contentlicense status file and transfers the updated content license statusfile to system device 1601 at step 1608.

FIGS. 17 and 17B depict a flow representation of a process 1700 ofconverting protected content to a hard copy. For this description, thesending device is the device sending the content and the receivingdevice is the device receiving and creating a copy of the content.Beginning at step 1701, the user requests protected content be convertedto a hard copy. At step 1702, the system 100 determines whether thedevice type is valid. If the device type is not valid, the system 100,at step 1703, displays a message to the user stating that the contentcannot be transferred. Then, the process 1700 ends. If, however, thedevice type is valid, then the system 100, at step 1704, determineswhether the license allows a copy to be made. If the license does notallow a copy to be made, the system 100 displays a message to the userasking the user if he or she chooses to update the content license. Theuser can then choose to update the license or not at step 1706. If theuser does not update the license, the process 1700 ends. If the userdoes choose to update the content license, the content license is thenupdated at step 1707, and the process 1700 can loop back to thedetermination box 1704.

If the system 100 determines that the license allows a copy to be madeat step 1704, then the sending device requests the public key from thereceiving device at step 1708. The receiving device then sends itspublic key to the sending device at step 1709. At the step 1710, thesending device decrypts the content key with its private key and thenencrypts the content key with the receiving device's public key. At step1711, the sending device transfers the content to the receiving devicewith the content key encrypted with the receiving device's public key.Next, the system 100 determines whether the content is in a format tomake copy at step 1712. If the content is in a proper format, thecontent is converted to a hardcopy at step 1713. At this point, theprocess 1700 then ends. If, however, the content is not in a format tomake a copy, then the receiving device decrypts the content key with itsprivate key and then decrypts a content and step 1714. Then at step1715, the receiving device encrypts the content and formats the contentsuch that a copy can be made. The content is then converted to ahardcopy at step the 1716, and the process 1700 then ends.

It should be noted that in some cases the content may be download fromthe content provider in a format which can be converted directly to ahard copy. In this case, the content can still be moved to a validsystem device such that the valid system device limits other uses of thecontent.

While the invention has been shown and described in preferred forms, itwill be apparent to those skilled in the art that many modifications,additions, and deletions can be made therein. These and other changescan be made without departing from the spirit and scope of the inventionas set forth in the following claims.

What is claimed is:
 1. A placeshifting system comprising: a personalmedia broadcaster configured to: receive an uncompressed signal from anaudio/video source device; encode a media stream from the uncompressedsignal using an encoder setting; transmit the media stream over anetwork; and adjust the encoder setting based upon variations in anavailable bandwidth of the network; and a media player client configuredto: communicate with the personal media broadcaster over the network;receive the media stream; and play the media stream for a user.
 2. Theplaceshifting system of claim 1, wherein the media player client isfurther configured to: receive a user command to control the mediastream and to communicate the user command to the personal mediabroadcaster, and wherein the personal media broadcaster is configured toadjust the encoder setting responsive to the user command.
 3. Theplaceshifting system of claim 1, wherein the personal media broadcasterincludes an interface to receive the uncompressed signal from aplurality of audio/video source devices.
 4. The placeshifting system ofclaim 1, wherein the personal media broadcaster is further configured todynamically adjust the encoder setting in response to the variations inthe available bandwidth of the network as the media stream istransmitted over the network.
 5. The placeshifting system of claim 1,wherein the personal media broadcaster is further configured to adjustthe encoder setting in real time as the media stream is transmitted onthe network.
 6. The placeshifting system of claim 1, wherein the encodersetting comprises at least one of the following: a bit rate, aresolution or a frame rate.
 7. The placeshifting system of claim 1,wherein the media player client and the personal media broadcaster arefurther configured to communicate over the network to mutually establishcapabilities of the media player client, and wherein the personal mediabroadcaster is further configured to initially establish the encodersetting based upon the capabilities of the media player client.
 8. Theplaceshifting system of claim 1, wherein the media player client and thepersonal media broadcaster are further configured to communicate overthe network to mutually establish a throughput of a connection betweenthe media player client and the personal media broadcaster over thenetwork, and wherein the personal media broadcaster is furtherconfigured to initially establish the encoder setting based upon thethroughput of the connection.
 9. The placeshifting system of claim 1,wherein the network comprises a wide area network (WAN).
 10. Theplaceshifting system of claim 1, wherein the network comprises theInternet.
 11. The placeshifting system of claim 1, wherein the personalmedia broadcaster is further configured to encode the media stream bydigitizing and compressing the uncompressed signal received from theaudio/visual source device.
 12. The placeshifting system of claim 1,wherein the media stream is encoded by compressing the media streamusing the encoder setting.
 13. The placeshifting system of claim 1,wherein the uncompressed signal is a live stream from the audio/visualsource device.
 14. The placeshifting system of claim 1, wherein themedia player client employs a graphical user interface (GUI).
 15. Theplaceshifting system of claim 1, wherein the media player clientcommunicates with the personal media broadcaster through a Web browserinterface.
 16. The placeshifting system of claim 1, wherein at leastsome communication between the personal media broadcaster and the mediaplayer client is encrypted.
 17. The placeshifting system of claim 16,wherein at least some of the encryption employs a public key-private keyencryption method.
 18. A placeshifting device comprising: an inputinterface configured to receive an uncompressed signal from one or moresource devices; a processor configured to construct a media stream byencoding the uncompressed signal using an encoder setting and to adjustthe encoder setting based upon variations in an available bandwidth of anetwork; and an embedded network interface configured to transmit themedia stream to a client over the network.
 19. The placeshifting deviceof claim 18, wherein the network interface is configured to receive auser command to control content in the media stream from the client. 20.The placeshifting device of claim 18, wherein the input interfacecomprises an interface for receiving the uncompressed signal from aplurality of different types of source devices.
 21. The placeshiftingdevice of claim 18, further configured to dynamically adjust the encodersetting based on the variations in the available bandwidth of thenetwork as the media stream is transmitted over the network.
 22. Theplaceshifting device of claim 18, wherein the processor is furtherconfigured to adjust the encoder setting in real time.
 23. Theplaceshifting device of claim 18, wherein the encoder setting comprisesat least one of the following: a bit rate, a resolution or a frame rate.24. The placeshifting device of claim 18, wherein the uncompressedsignal comprises an analog signal that is a live stream from the one ormore source devices.
 25. The placeshifting device of claim 18, whereinthe uncompressed signal comprises a live stream from a personal videorecorder (PVR).
 26. The placeshifting device of claim 18, wherein theuncompressed signal comprises a live stream from a set-top box.
 27. Theplaceshifting device of claim 18, wherein uncompressed signal comprisesa live stream from a video camera.
 28. The placeshifting device of claim18, wherein the network comprises a wide area network (WAN).
 29. Theplaceshifting device of claim 18, wherein the network comprises theInternet.
 30. The placeshifting device of claim 18, wherein theuncompressed signal is received in an analog format, and wherein theplaceshifting device further comprises an analog-to-digital converterconfigured to convert the uncompressed signal from the analog format toa digital format.
 31. The placeshifting device of claim 18, wherein theuncompressed signal is received in a digital format.
 32. Theplaceshifting device of claim 18, wherein the processor is configured toadjust the encoder setting while the media stream is transmitted on thenetwork.
 33. The placeshifting device of claim 18, wherein the clientemploys a graphical user interface (GUI).
 34. A method comprising:receiving an uncompressed signal; encoding the uncompressed signal toconstruct a media stream; adjusting the encoding based upon variationsin an available bandwidth of a network; and transmitting the mediastream to a client over the network.
 35. The method of claim 34, whereinthe uncompressed signal is a live stream provided by a source device.36. The method of claim 34, wherein the adjusting comprises dynamicallyadjusting the encoder setting based on the variations in the availablebandwidth of the network as the media stream is transmitted over thenetwork.
 37. The method of claim 34, wherein the adjusting comprisesadjusting the encoder setting in real time as the media stream istransmitted over the network.
 38. The method of claim 34, wherein theuncompressed signal is a digital signal and the encoding comprisescompressing the uncompressed signal.
 39. The method of claim 38, whereinthe encoding comprises compressing the uncompressed signal using anencoder setting.
 40. The method of claim 39, wherein the adjustingcomprises adjusting the encoder setting as the available bandwidth ofthe network changes.
 41. The method of claim 34, wherein theuncompressed signal is received in an analog format, and wherein themethod further comprises digitizing the analog signal.
 42. The method ofclaim 34, wherein the uncompressed signal is received in a digitalformat.
 43. The method of claim 34, wherein the client employs agraphical user interface (GUI).
 44. The method of claim 34, wherein theclient is a web browser.
 45. The method of claim 44, wherein theuncompressed signal is a live stream from a source device, and whereinthe method further comprises receiving an instruction from the webbrowser and controlling the source device in response to the instructionreceived from the web browser to adjust the live stream.
 46. The methodof claim 34, wherein at least some communication with client isencrypted.
 47. The method of claim 46, wherein at least some of theencryption employs a public key-private key encryption method.
 48. Amethod comprising: receiving an uncompressed signal from an audio/visualsource device; encoding the uncompressed signal to construct adigitally-compressed media stream; transmitting the digitally-compressedmedia stream to a web browser via an IP network; and adjusting theencoding of the uncompressed signal in response to variations in anavailable bandwidth of the IP network.
 49. The method of claim 48,wherein the encoding is performed in real time as the uncompressedsignal is received.
 50. The method of claim 48, wherein the adjustingcomprises dynamically adjusting the encoding based on the variations inthe available bandwidth of the IP network as the digitally-compressedmedia stream is transmitted on the IP network.
 51. The method of claim48, wherein the uncompressed signal represents a live stream from theaudio/visual source device, and wherein the encoding and thetransmitting are performed as the uncompressed signal representing thelive stream is received.
 52. The method of claim 48, wherein theencoding comprises compressing the uncompressed signal using an encodersetting.
 53. The method of claim 48, wherein the client is uses agraphical user interface (GUI).
 54. The method of claim 48, furthercomprising receiving an instruction from the web browser via the IPnetwork.
 55. The method of claim 54, further comprising controlling theaudio/visual source device in response to the instruction received fromthe web browser.
 56. The method of claim 48, further comprisingconverting the digitally-compressed media stream to network packetscompatible with the IP network.
 57. The method of claim 56, wherein thetransmitting comprises transmitting the network packets on the IPnetwork.
 58. The method of claim 48, wherein at least some communicationwith client is encrypted.
 59. The method of claim 58, wherein at leastsome of the encryption employs a public key-private key encryptionmethod.